System and method of exchanging identification information for mobile stations

ABSTRACT

A system is provided for allowing mobile stations to exchange identification information using a predetermined communication path for the purpose of obtaining identification information to use in establishing a different communication path for communicating.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. Ser. No. 13/488,654 havingthe same title as this application, which was filed on Jun. 5, 2012 (nowU.S. Pat. No. 8,731,528), which in turn is a continuation of and claimedthe benefit of U.S. Ser. No. 13/034,158, which was filed on Feb. 24,2011 (now U.S. Pat. No. 8,208,904), which in turn is a continuation ofand claimed the benefit of U.S. Ser. No. 11/962,334, which was filed onDec. 21, 2007 (now U.S. Pat. No. 7,917,126), which in turn is acontinuation of and claimed the benefit of Ser. No. 11/485,531, filed onJul. 12, 2006 (now U.S. Pat. No. 7,324,830), which in turn is acontinuation of and claimed the benefit of Ser. No. 10/698,603, filed onOct. 31, 2003 (now U.S. Pat. No. 7,103,333), which in turn claimed thebenefit of U.S. 60/440,363, filed on Jan. 16, 2003. The entiredisclosure and the drawing figures of these prior applications arehereby incorporated by reference.

BACKGROUND

1. Field

The systems and methods described in this patent document relategenerally to wireless communication and more specifically toidentification information for mobile stations.

2. Description of the Related Art

Mobile stations, such as mobile telephones, mobile email devices, andother mobile communication devices, which communicate via a wirelessnetwork, typically function as client devices that request access tovarious services through the wireless network. These services mayinclude telephone services, e-mail services, web access services andvarious messaging services. Wireless network. operators require datafrom mobile stations to traverse gateways and central routing points,which are located outside of the wireless network, to maintain strictbilling and usage models. The primary goal of those running the networksis to monitor data usage and charge appropriately, despite the fact thatthis may limit the options for the mobile stations on the network. Thus,wireless users may be restricted in what they can do and may be forcedinto a limited data communication model that inhibits expansion of usagemodels. This restrictive network design limits the average revenue peruser and the growth of wireless networks for data traffic.

Systems for peer-to-peer communication are also available for mobilestations. Current peer-to-peer communication systems, such as SMS orinstant messaging, use centralized gateways that attempt to keep trackof all users and correlate them into requested groups or buddy lists.These systems force users to use centralized gateways for allcommunication, thus creating the potential for bottlenecks, dataslowdowns and single points of failure.

SUMMARY

A system is provided for allowing mobile stations to exchangeidentification information using a predetermined communication path forthe purpose of obtaining identification information to use inestablishing a different communication path for communicating.

According to some of the claims, provided is a method in a first mobilestation that comprises the following steps. In one step, the firstmobile station exchanges network. identification information with asecond mobile station using a wireless network and a service gateway. Inanother step, the first mobile station stores a network identificationcode of the second mobile station. In a third step, the first mobilestation requests that a wireless communication link be establishedbetween the first mobile station and the second mobile station via thewireless network using the network identification code wherein thecommunication link does not require any service gateway.

Also according to some of the claims, provided is a method in a wirelessnetwork that comprises the following steps. In one step, the wirelessnetwork provides a first network identification code to a first mobilestation and a second network identification code to a second mobilestation. In another step, the wireless network transfers messagesbetween the first mobile station and the second mobile station via aservice gateway wherein the messages comprise the first networkidentification code, the second network identification code, or both. Ina third step, the wireless network provides a communication link betweenthe first mobile station and the second mobile station in response to arequest from either the first or second mobile stations or both thatincludes the first and second network identification codes wherein thecommunication link does not require any service gateway.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a wireless communication system;

FIG. 2 is a block diagram of a system for exchanging mobile stationidentification information through an email service;

FIG. 3 is a block diagram of a system for exchanging mobile stationidentification information through an SMS service;

FIG. 4 is a block diagram of a system for exchanging mobile stationidentification information through an SMS service and an IF addressexchange service;

FIG. 5 is a block diagram of a system for exchanging mobile stationidentification information through an IF address service;

FIG. 6 is a block diagram of a mobile station;

FIG. 7 is a flowchart of a method for exchanging mobile stationidentification information;

FIG. 8 is a flowchart of a method for receiving and acceptingidentification information from a mobile station, and

FIG 9 is a block diagram of a dual-mode mobile communication device.

DETAILED DESCRIPTION

FIG. 1 is a block diagram of an exemplary wireless communication system.The system comprises a first mobile station 100, a second mobile station101, a wireless network 104, a first wireless network base station 102,a second wireless network base station 103, and a service gateway 106.The system is capable of connecting to various services such as theInternet 108 via the service gateway 106.

In the example shown, each mobile station 100, 101 communicates via thewireless network base stations 102, 103 and the wireless network 104,preferably using RF links which follow a radio protocol dictated by theequipment in the wireless network 104. Other wireless communicationforms, however, may be used. The wireless network 104 preferably is anetwork such as GMS/GPRS, CDMA/W-CDMA, EDGE, UMTS, or other compatiblenetwork. Each mobile station 100, 101 executes a sequence of connectionsteps so that a connection can be established with one of the wirelessnetwork base stations 102, 103. During the connection process, anidentification code such as an Internet Protocol (IP) address or someother code is assigned to the mobile station 100, 101. After receivingthe identification code, the mobile station 100 or 101 is able torequest services through the wireless network 104.

In this exemplary system, the service gateway 106 preferably isconnected to the wireless network 104 through documented TCP/IP orUDP/IP access points. When a request for service from a mobile station100, 101 is received by the service gateway 106, the service gateway 106functions as a proxy and sends the request to the Internet 108. In othersystem configurations, the service gateway 106 may alternatively proxyrequests to another wide-area network, a private network, a VPN, anintranet, or some other network arrangement. The connection from thedevice gateway 106 to the Internet 108 in this example is a networkconnection such as a high-speed private ISDN or frame relay link, butalternatively could be a low-speed public dial phone connection or someother type of connection.

In the exemplary wireless network 104, each mobile station 100, 101which attaches to the wireless network 104 requests a network resourceso that it can be addressed at a high layer, such as the IP layer. Inthe exemplary systems of FIG. 1, each mobile station 100, 101 isallocated a private, dynamic IP address each time it connects to thenetwork. The IP address might change each time a new connection is madeand the IP address resource is utilized. This IP address is maintainedwhile the user is actively using it, but may be unallocated if an idleperiod of nonuse of sufficient duration occurs. This allows the wirelessnetwork 104 to manage the IP address resources and reduce inefficientuse of these resources. Since the network 104 is private, only mobilestations 100, 101 and service gateways 106, which are directly attachedto the wireless network 104, are able to use the IP addresses assignedto each mobile station.

FIG. 2 is a block diagram of an exemplary system for exchanging mobilestation identification information through an email service. The systemcomprises a first mobile station 200, a second mobile station 201, awireless network 204, a first wireless network base station 202, and asecond wireless network base station 203, which in this examplecorrespond to similar elements described with respect to FIG. 1. Thesystem further comprises an email gateway 206 for connecting with anemail service 208.

The mobile stations 200, 201 exchange identification information using apredetermined communication path so that they can obtain theidentification information to use in establishing a different andpreferably better communication path. In this example, the first mobilestation 200 sends its currently assigned IP address to the second mobilestation 201 via an email message 210 which is addressed to the secondmobile station 201. Preferably, an IP-Monitoring agent running in thefirst mobile station 200 automatically transmits the email message 210.The email message optionally could contain, in addition to the currentlyassigned IP address, status information regarding the user, locationinformation regarding the user, and/or information relating to thecapabilities of the mobile station such as device type and/or supportedfeatures and communication methods. The status information may includeavailability information that indicates how long the user is availableor unavailable or some other relevant information. The locationinformation may include the user's current base station location,country code and/or time zone.

The exemplary system operates in accordance with the followingdescription. An IP-monitoring agent in the first mobile station 200monitors and detects when the IP address of the first mobile station 200changes, preferably, by monitoring memory in the first mobile station200. When the IP-monitoring agent detects that the IP address haschanged, it sends an e-mail message 210 to other mobile stations thatare registered as associates of the user of the first mobile station200. An associate could be a friend, an instant-messaging buddy, aperson within a specified workgroup, or a co-worker of the user. Theregistration of associates may be recorded in a mapping table thatpreferably resides in the mobile station, but that also could reside inan external location. The mapping table indicates which mobile stationsshould be notified when the IP address of the first mobile station 200changes. The mapping table preferably includes the email addresses ofassociates, which are used in the email message as the recipientaddresses. Alternatively, the user of the first mobile station 200 maysend the email message 210 manually. Also, the first mobile station 200may send its IP address to the second mobile station 201 in an unrelatedemail message that was sent for another purpose. After a second mobilestation receives the email message, it preferably sends a response tothe first mobile station 201 that preferably confirms the second mobilestation's reception of the email message and optionally provides updatedinformation, such as status information and availability informationregarding the second mobile station. The response may be in the form ofa reply email message or in some other form.

The e-mail service 208 preferably is a publicly available service suchas Hotmail, a service provided by an ISP such as AOL, or a corporateservice such as a Microsoft Exchange server. The email gateway 206 is anexample of a service gateway 106 (FIG. 1), which allows the mobilestations 200, 201 to send and receive email messages using the emailservice 208.

The mobile stations 200, 201 use the identification information such asIP addresses to establish a communication link 212 within the wirelessnetwork 204 that does not utilize resources outside of the wirelessnetwork 204. Because the communication link 212 between the mobilestations 200, 201 does not traverse a service gateway, using thecommunication link 212 should reduce latency and reduce overall networktraffic. In addition, the communication link 212 can be used to exchangemessages which are arbitrarily large, which is an improvement over the160-character limit of current short message service (SMS) services.

The communication links 212 can act as the foundation for a collectionof wireless network-only services that do not rely upon externalgateways. These services include a range of peer-to-peer orclient-server services. For example, an instant messaging conversationcan take place between two or more peers in a collaborative group, orthe first mobile station 200 could act as a web server and allow thesecond mobile station 201 to attach using HTTP protocols to provide webpages fur information exchange. Other wireless network-only services arealso possible.

The system described with respect to FIG. 2 allows mobile stations 200,201 to be aware of and use IP addresses of other mobile stations whichcommunicate via the wireless network 204 even when the IP addresses ofthe mobile stations change. IP addresses fur mobile stations can changewhen the wireless network 204 uses a dynamic IP address mechanism suchas DHCP.

FIG. 3 is a block diagram of a system for exchanging mobile stationidentification information through an SMS service. The system comprisesa first mobile station 300, a second mobile station 301, and a wirelessnetwork 304 that further comprises a first wireless network base station302 and a second wireless network base station 303. The system furthercomprises an SMS service center 306.

The wireless network 304 provides the mobile stations 300, 301 withsupport for a short messaging service (SMS). The service provider forthis service is the SMS service center 306 (SMSC), which acts as theservice gateway which supports the routing of messages between mobilestations 300 and 301. The SMSC 306 may also support routing of messagesto and from senders which are not connected to the wireless network.304.

In this example, the current IP address of the first mobile station 300is sent in an SMS message 310 which is addressed to the second mobilestation 301. The SMS message 310 preferably is sent automatically by anIP-Monitoring agent running within the first mobile station 300.Alternatively, the SMS message 310 may be sent manually by the user ofthe first mobile station 300 or the IP address may be sent to the secondmobile station 301 in a message that was sent for another purpose.

Once the second mobile station 301 has received an SMS message 310containing identification information for the first mobile station 300,the current IP address associated with the first mobile station 300 isknown to the second mobile station 301, which can send data to the firstmobile station 300. Also, after the second mobile station 301 providesits identification information to the first mobile station 300, thecurrent IP address associated with the second mobile station 301 isknown to the first mobile station 300, which can send data to the secondstation 301. The two mobile stations 300, 301 are thus able tocommunicate directly using a communication link 312 that only useswireless network 304 resources. This communication link 312 can reducelatency, reduce overall network traffic and allow for larger messages tobe exchanged beyond the 160-character limit of SMS. After an SMS message310 is sent that contains identification information, the receivingmobile station preferably sends a response that confirms the receptionand returns any updated information such as status information andavailability information regarding the receiving mobile station.

FIG. 4 is a block diagram of a system for exchanging mobile stationidentification information through an SMS service and an IP addressexchange service. The system comprises a first mobile station 400, asecond mobile station 401 and a wireless network 404, which furthercomprises a first wireless network base station 402 and a secondwireless network base station 403. The system further comprises an SMSservice center 406 and an IP address exchange service 408.

The mobile stations 400, 401 can exchange IP addresses using SMSmessages 410 and can establish a communication link 412 that only usesthe resources of the wireless network 404 in a manner consistent withthe system described with reference to FIG. 3. The IP address exchangeservice 408 in this example also processes the SMS messages 410 toprovide additional services for the mobile stations 400, 401. The IPaddress exchange service 408 is capable of keeping track of andpublishing identification information for mobile stations 400, 401, aswell as location and presence information, for other mobile stations.

FIG. 5 is a block diagram of a system for exchanging mobile stationidentification information through an IP address service. The systemcomprises a first mobile station 500, a second nit bile station 501, anda wireless network 504 that further comprises a first wireless networkbase station 502 and a second wireless network base station 503. Thesystem further comprises an Internet gateway 506 for providing aconnection to the Internet 507 and an IP address service 508 that isaccessible via the Internet. The Internet gateway 506 preferablyprovides TCP/IP proxy agents that allow the mobile stations 500, 501 toaccess a wide range of services offered by sites on the Internet 507,including the IP address service 508. In this example, the HTTP protocolis used to exchange identification information between the mobilestations 500, 501, via the IP address service 508, in order to establisha communication link 512.

The IP address service 508 preferably is a web service that is hosted bya web server. Alternatively, the IP address service 508 may be a webapplication hosted by a web server or by an application server. In apreferred mode of operation, the first mobile station 500 uploads HTTPpackets 510 that contain the IP address associated with the first mobilestation 500 to the IP address service 508. The second mobile station 501then uses the HTTP protocol to download HTTP packets 511 that containthe IP address associated with the first mobile station 500. Similarly,the second mobile station 501 uploads HTTP packets 510 that contain theIP address associated with the second mobile station 501 to the IPaddress service 508. The first mobile station 500 then uses the HTTPprotocol to download HTTP packets 511 that contain the IP addressassociated with the second mobile station 501. Each mobile station 500,501 can then use the IP addresses obtained as described above toestablish and communicate directly over a communication link 512 whichuses only the resources of the wireless network 504.

To receive identification information for other mobile stations,preferably the mobile stations 500, 501 periodically poll the IP addressservice 508 to determine whether IP addresses for other mobile stationshave changed. Alternatively, the IP address service 508 may notify themobile stations 500, 501 when an IP address has changed. Thenotification preferably occurs directly over the wireless network 504.Alternatively, the notification may use another service such as an emailmessage, an SMS message, or a circuit-switched telephone call.

In another exemplary system, a mobile station can use a plurality ofdifferent services to obtain identification information. In thisexample, the mobile station may use the email service when exchangingidentification information with a second mobile station, use a SMSservice when exchanging information with a third mobile station, use anIP address exchange service to exchange identification information witha fourth mobile station, or use an IP address service to exchangeidentification or information with a fifth mobile station. Also, it ispossible that one or more of these data exchange systems does not work.Therefore, as the mobile station 200, 300, 400, 500 tries each systemand gets a failure, or in the absence of a return acknowledgment, itwould use other systems and continue sending the updated IP addressinformation message. For example, if the message is sent using the SMSsystem and no acknowledgment is received after a pre-determined periodof time, the message is sent using the email system. If the emailacknowledgment message is not received after the pre-determined periodof time, the method is sent using the HTTP system. The system ensuresthat each correspondent is updated with the current IP address and thateach message sent receives an acknowledgment.

FIG. 6 is a block diagram of an exemplary mobile station 612. Theexemplary mobile station 612 comprises a wireless transceiver 600 forcommunicating with a wireless network, a user interface 602 forcommunicating with a user and a memory module 606 for storing andretrieving information such as an IP address mapping table 608 and an IPaddress 609. The mobile station 612 further comprises an IP addressapplication 604.

The IP address application 604 monitors the IP address 609 that isstored in the memory module 606 of the mobile station. The IP address609 is specific to the mobile station and is assigned by the wirelessnetwork. Preferably, when the IP address 609 changes, the IP addressapplication 604 sends a message to the mobile stations listed in the IPaddress mapping table 608. The message contains the newly updated IPaddress 609, and can be sent using one of the earlier described systems.The addresses for the recipients of the message are preferably retrievedfrom an address book stored on the mobile station. Alternatively, therecipient address information may be retrieved from the IP addressmapping table 608 or the recipient address information may be manuallyentered by the user of the mobile station 500.

The exemplary IP address mapping table 608 contains identificationinformation for mobile stations with which the user of the mobilestation wishes o communicate, For each such mobile station, theidentification information preferably includes the name of the user themobile station, the current IP address of the mobile station, and theprevious IP address of the mobile station.

The current IP address of a mobile station is updated in the IP addressmapping table 608 when an identification message is received thatspecifies a new IP address. In this example, the message is transmittedthrough the wireless network and received by the wireless transceiver600. The message is displayed on a display screen included in the userinterface 602 by a message application (not shown). The messageapplication displays a listing of events to the user via the userinterface 602. The listing is preferably sorted chronologically and mayinclude incoming and outgoing email messages, incoming and outgoingtelephone calls, incoming and outgoing SMS messages, task reminders,and/or IP address update messages. The IP address update messagepreferably contains a unique string in a subject field of the messagethat indicates the type of the message. Alternatively, the IP addressupdate message may contain a unique string or binary-encoded elementelsewhere in the message that indicates the type of the message.Preferably, the new IP information and base station location is hiddenfrom the user. There are typically fields within email messages andwithin SMS messages that can be used for this purpose. For example,within an SMS message a user data header field that is not normallydisplayed to a user can be used.

Once the identification message is processed by the mobile station 612,the user of the mobile station 612 can later decide to use theidentification information (e.g. IP information) to initiate apeer-to-peer conversation. Since the user is in a group list orpreferred correspondents list, the initiator simply needs to send afirst invitation to chat message. This first invitation message acts asboth a request and an introduction as to why a conversation is desired.The recipient of the invitation message might then either have theirdevice set to quiet or busy mode so that the invitation is automaticallyrejected with a busy indication returned as a reason for a rejection ofthe invitation. Alternatively, the recipient might read the message anddecide that it cannot deal with the issue at that moment and reject themessage or the user might accept the message and send back a chatacceptance indication as a response. After a chat acceptance indicationis returned, a communication session can begin.

In this example, when the IP address application 604 detects that an IPaddress update message has been received by the obit station, theaddress application 604 extracts the address from the IP address updatemessage and updates the corresponding information in the II addressmapping table 608. The previous IP address for the mobile station thatsent the IP address update message is (preferably retained in the IPaddress mapping table 608. The previous IP address can be retained toallow returned messages addressed to the new address to be resent to theold address in case the updating of the IP address should not haveoccurred.

Preferably, messages sent using the exemplary system described hereinare encrypted by the sending mobile station, so that when a message issent to an unintended recipient mobile station, the recipient mobilestation cannot read the message. Known public or private key encryptionsystems exist that can be used so that only the intended recipientmobile station can decrypt the message. A message may be sent to anunintended recipient mobile station, for example, when the IP addressfor an intended recipient mobile station stored in the IP addressmapping table 608 has been reassigned to a different mobile station, andthe new IP address for the intended recipient mobile station has not yetbeen received by the sending mobile station.

FIG. 7 is a flowchart that illustrates an exemplary process for use by aprimary mobile station for exchanging mobile station identificationinformation with correspondent mobile stations. This process illustrateshow two mobile station can exchange identification codes such as IPaddresses so that a communication link can be established between thetwo mobile stations over the wireless network using the IP addresses.

The process begins at step 700, where a mobile station (MS) detects thatit has been assigned a new address by the wireless network. Thisdetection could occur through the use of radio interface code in the MSsince, preferably, radio interface code is used to re-negotiate networkparameters for resource allocation. The new address is passed throughthe MS to the application layer where a module such as the IP addressapplication 604 detects the new address. This address could be an IPv4address, an IPv6 address or some other network address used by awireless network. At step 702, the new address is stored so that futurechanges can be easily detected. After the address is stored at step 704,the MS preferably through the software locates the affectedcorrespondents and determines the method it will use to send an IPaddress update message to the affected correspondents. After identifyingthe delivery method, the primary MS, at step 706, transmits the newmobile station IP address to the correspondent mobile stations in the IPaddress update message. The IP address update message is transmitted viaa wireless network and a service gateway preferably as an email message,an SMS message, or using the HTTP protocol.

After transmitting IP update messages, the primary MS, at step 708, setsa tinier and waits for the reception of an acknowledgment message. Anexemplary method for sending acknowledgments (A) is illustrated in FIG.8. If an acknowledgment message is not received before the timerexpires, preferably the MS will attempt to transmit the IP addressupdate message using another method. If no other methods fortransmitting the update message is available, the process ends at step716. But, if there are other available methods for sending an updatemessage, then another method is selected at step 714. After the nextmethod is selected, the IP address update message is sent using thisnext method. At step 708, the timer is set again and the MS waits for anacknowledgment.

Alternatively, instead of proceeding to step 712, the MS could tryre-transmitting the IP update message using the same transmissionmethod. The MS could attempt to re-send the update message a number oftimes before abandoning on that transmission method. After abandoning onthat transmission method, the MS could proceed to step 712.

As a further alternative, two or more methods of sending the addressupdate message could be attempted simultaneously. The first successfulmessage would be acknowledged, thus reducing latency by assuring thatthe fastest of multiple methods is used.

When an acknowledgment is received from a correspondent MS, the primaryMS saves any information received in the acknowledgment message at step720.

When a peer-to-peer conversation is desired, either the primary MS or acorrespondent MS can initiate a direct peer-to-peer connection(presuming both the primary and correspondent mobile stations haveprovided current identification codes to the other). A user at theprimary MS, for example, can compose a peer-to-peer message and send itwithout having to send an explicit invitation or wait for presenceinformation. The MS then waits for a response, a timeout or a rejectionfrom the correspondent (step 722). If no response is received in apredetermined time period or if the correspondent sends a reject messageback, the connection is terminated and the peer-to-peer conversation isabandoned 724. For example, the correspondent might see the message andsend back an “I am currently busy” indication to tell the sender that apeer-to-peer conversation is currently not possible. However, if thecorrespondent sends a response message back, it is assumed that apeer-to-peer conversation is open and a full peer-to-peer communicationlink is opened (step 726).

FIG. 8 is a flowchart that illustrates a process for receiving andaccepting identification information from a mobile station. The processstarts at step 800 where the MS monitors incoming communications. Whenan incoming message is received, the MS first determines if the incomingmessage is an incoming email, SMS or HTTP-based message (step 802). Inmost wireless networks it is now possible for Wireless Access Protocol(WAP) gateways to push HTTP messages to mobile stations. If the incomingmessage is not one of those types, the MS determines if the incomingmessage is a peer-to-peer message from a correspondent that has notestablished a full peer-to-peer communications link such as aninvitation to chat message (step 804). If the incoming message is notthat type of message, the incoming message is processed in accordancewith procedures designed for other types of messages (step 806). Forexample, the incoming message could be a peer-to-peer communication withan existing correspondent or an acknowledgment message from an addressupdate message (A).

If the incoming message is an email, SMS or HTTP message then the MSdetermines if the incoming message is an address update message at step808. Preferably, the MS makes this determination by examining aparticular field of the message and identifying a unique identifier,tag, string or some other predetermined pattern. If the MS determinesthat the incoming message is not an address update message, then themessage is processed as normal (step 810). If the MS determines that theincoming message is an address update message, the MS then determineswhether the incoming message is from a known correspondent at step 812.

The MS is preferably configured such that a user can designate certaincorrespondent addresses as preferred or non-preferred. The MS can usethe designations when determining how to respond to message. Forexample, if an address update request is received from a non-preferredcorrespondent, the MS may automatically reject the message or prompt theuser to accept or reject the message. This check provides for some levelof privacy and ensures that each person involved in peer-to-peercommunications has agreed to such communications. If a person requestinga peer-to-peer communication is unknown or is not considered a preferredpeer-to-peer correspondent, a message can be returned that communicatesthat the address update message was rejected. If the message isaccepted, the correspondent's entry in the address book database orRAM-based file is updated with the new IP address. This mapping tableprovides the basis for setting up and accepting peer-to-peercommunications. The mapping table for each mobile station can thereforebe specific for a user and only contain identification addresses forcorrespondents chosen by the user.

If the message was not a normal email, SMS or HTTP message but was aninvitation to chat message, the MS determines if it has been set by theuser to a busy or reject mode such as quiet mode (step 820). Aninvitation is regarded as a message from a preferred correspondent thatcurrently does not have a fully established peer-to-peer communicationpending. Quiet mode is typically a do-not-disturb mode or busy modewhere all chat requests are rejected if the mobile station has been setto automatically reject chat requests, a message is immediately sentback with the appropriate code (step 822). If a peer-to-peer message isreceived from a correspondent that is not preferred, the user will havethe option of accepting or rejecting the communication, oralternatively, the message may be automatically rejected. Otherwise, theuser is informed of the incoming chat request and can reject or acceptthe invitation to chat (step 824). If the user rejects the invitation,the user may optionally provide a reason, and the rejection message istransmitted to the originator of the request 826. Otherwise, the usercan enter a response message that functions as an acceptance of thepeer-to-peer communication request (step 828).

Once established, the communication link routes peer-to-peer messagesbetween the mobile stations, preferably using only the resources of thewireless network without using external service gateways. When messagesto and from the mobile stations do not traverse service gateways,overall network traffic can be reduced and the delivery time of themessages can be reduced. Also, size restrictions are not imposed on themessages by services or gateways since they are not used.

An example usage of the communication link is a chat session wheremessages are exchanged in real time between the users of the mobilestations, as described above. Many other usages for the communicationlink are possible. A method of exchanging mobile station identificationinformation may include additional or fewer steps than those illustratedin FIGS. 7 and 8.

Shown in FIG. 9 is a block diagram of an exemplary dual-mode mobilecommunication device. The dual-mode communication device is anotherexample of a possible mobile station.

The exemplary dual-mode mobile communication device 910 includes atransceiver 911, a microprocessor 938, a display 922, Flash memory 924,RAM memory 926, auxiliary input/output (I/O) devices 928, a serial port930, a keyboard 932, a speaker 934, a microphone 936, a short-rangewireless communications sub-system 940, and may also include otherdevice sub-systems 942. The transceiver 911 preferably includes transmitand receive antennas 916, 918, a receiver 912, a transmitter 914, one ormore local oscillators 913, and a digital signal processor 920. Withinthe Flash memory 924, the dual-mode mobile communication device 910preferably includes a plurality of software modules 924A-924N that canbe executed by the microprocessor 938 (and/or the IMP 920), including avoice communication module 924A, a data communication module 924B, and aplurality of other operational modules 924N for carrying out a pluralityof other functions.

The dual-mode mobile communication device 910 is preferably a two-waycommunication device having voice and data communication capabilities.Thus, for example, the dual-mode mobile communication device 910 maycommunicate over a voice network, such as any of the analog or digitalcellular networks, and array also communicate over a data network. Thevoice and data networks are depicted in FIG. 9 by the communicationtower 919. These voice and data networks may be separate communicationnetworks using separate infrastructure, such as base stations, networkcontrollers, etc., or they may be integrated into a single wirelessnetwork.

The communication subsystem 911 is used to communicate with the voiceand data network 919, and includes the receiver 912, the transmitter914, the one or more local oscillators 913 and may also include the DSP920. The DSP 920 is used to send and receive signals to and from thetransmitter 914 and receiver 912, and is also utilized to receivecontrol information from the transmitter 914 and to provide controlinformation to the receiver 912. If the voice and data communicationsoccur at a single frequency, or closely-spaced set of frequencies, thena single local oscillator 913 may be used in conjunction with thetransmitter 914 and receiver 912. Alternatively, if differentfrequencies are utilized for voice communications versus datacommunications, then a plurality of local oscillators 913 can be used togenerate a plurality of frequencies corresponding to the voice and datanetworks 919. Although two antennas 916, 918 are depicted in FIG. 9, thedual-mode mobile communication device 910 could be used with a singleantenna structure. Information, which includes both voice and datainformation, is communicated to and from the communication module 911via a link between the DSP 920 and the microprocessor 938. The detaileddesign of the communication subsystem 911, such as frequency band,component selection, power level, etc., is dependent upon thecommunication network 919 in which the dual-mode mobile communicationdevice 910 is intended to operate. For example, a dual-mode mobilecommunication device 910 intended to operate in a North American marketmay include a communication subsystem 911 designed to operate with theMobitex™ or DataTAC™ Mobile data communication networks and alsodesigned to operate with any of a variety of voice communicationnetworks, such as AMPS, TDMA, CDMA, PCS, etc., whereas a device 910intended for use in Europe may be configured to operate with the GeneralPacket Radio Service (GPRS) data communication network and the GSM voicecommunication network. Other types of data and voice networks, bothseparate and integrated, may also be utilized with the dual-mode mobilecommunication device 910.

Depending upon the type of network or networks 919, the accessrequirements for the dual-mode communication device 910 may also vary,For example, in the Mobitex and DataTAC data networks, mobile devicesare registered on the network using a unique identification numberassociated with each device. In GPRS data networks, however, networkaccess is associated with a subscriber or user of a mobile device. AGPRS device typically requires a subscriber identity module (“SIM”),which is required in order to operate a dual-mode mobile communicationdevice on a GPRS network. Local or non-network communication functions(if any) may be operable, without the SIM, but a dual-mode mobilecommunication device will be unable to carry out any functions involvingcommunications over the data network 919, other than any legallyrequired operations, such as 911 emergency calling.

After any required network registration or activation procedures havebeen completed, the dual-mode mobile communication device 910 may thensend and receive communication signals, including both voice and datasignals, over the network 919 (or networks). Signals received by theantenna 916 from the communication network 919 are routed to thereceiver 912, which provides for signal amplification, frequency downconversion, filtering, channel selection, etc., and may also provideanalog to digital conversion. Analog to digital conversion of thereceived signal allows more complex communication functions, such asdigital demodulation and. decoding to be performed using the DSP 920. Ina similar manner, signals to be transmitted to the network 919 areprocessed, including modulation and encoding, for example, by the DSP920 and are then provided to the transmitter 914 for digital to analogconversion, frequency up conversion, filtering, amplification andtransmission to the communication network 919 (or networks) via theantenna 918. Although a single transceiver 911 is shown in FIG. 9 forboth voice and data communications, it is possible that the dual-modemobile communication device 910 may include two distinct transceivers, afirst transceiver for transmitting and receiving voice signals, and asecond transceiver for transmitting and receiving data signals.

In addition to processing the communication signals, the DSP 920 alsoprovides for receiver and transmitter control. For example, the gainlevels applied to communication signals in the receiver 912 andtransmitter 914 may be adaptively controlled through automatic gaincontrol algorithms implemented in the DSP 920. Other transceiver controlalgorithms could also be implemented in the DSP 920 in order to providemore sophisticated control of the transceiver 911.

The microprocessor 938 preferably manages and controls the overalloperation of the dual-mode mobile communication device 910. Many typesof microprocessors or microcontrollers could be used here, or,alternatively, a single DSP 920 could be used to carry out the functionsof the microprocessor 938. Low-level communication functions, includingat least data and voice communications, are performed through the DSP920 in the transceiver 911. Other, high-level communicationapplications, such as a voice communication application 924A, and a datacommunication application 924B may be stored in the Flash memory 924 forexecution by the microprocessor 938. For example, the voicecommunication module 924A may provide a high-level user interfaceoperable to transmit and receive voice calls between the dual-modemobile communication device 910 and a plurality of other voice devicesvia the network 919. Similarly, the data communication module 924B mayprovide a high-level user interface operable for sending and receivingdata, such as e-mail messages, files, organizer information, short textmessages, etc., between the dual-mode mobile communication device 910and a plurality of other data devices via the network 919. In thedual-mode mobile communication device 910, an IP address application, asdescribed above, may also be implemented as a. software module orapplication, or incorporated into one of the software modules 924A-924N.

The microprocessor 938 also interacts with other dual-mode mobilecommunication device subsystems, such as the display 922, Flash memory924, random access memory (RAM) 926, auxiliary input/output (I/O)subsystems 928, serial port 930, keyboard 932, speaker 934, microphone936, a short-range communications subsystem 940 and any other dual-modemobile communication device subsystems generally designated as 942.

Some of the subsystems shown in FIG. 9 perform communication-relatedfunctions, whereas other subsystems may provide resident or on-devicefunctions. Notably, some subsystems, such as keyboard 932 and display922 may be used for both communication-related functions, such asentering a text message for transmission over a data communicationnetwork, and device-resident functions such as a calculator or task listor other PDA type functions.

Operating system software used by the microprocessor 938 is preferablystored in a persistent store such as Flash memory 924. In addition tothe operating system, which controls all of the low-level functions ofthe dual-mode mobile communication device 910, the Flash memory 924 mayinclude a plurality of high-level software application programs, ormodules, such as a voice communication module 924A, a data communicationmodule 924B, an organizer module (not shown), or any other type ofsoftware module 924N. The Flash memory 924 also may include a filesystem for storing data. These modules are executed by themicroprocessor 938 and provide a high-level interface between a user ofthe dual-mode mobile communication device and the mobile device. Thisinterface typically includes a graphical component provided through thedisplay 922, and an input/output component provided through theauxiliary I/O 928, keyboard 932, speaker 934, and microphone 936. Theoperating system, specific dual-mode mobile communication devicesoftware applications or modules, or parts thereof, may be temporarilyloaded into a volatile store, such as RAM 926 for faster operation.Moreover, received communication signals may also be temporarily storedto RAM 926, before permanently writing them to a file system located inthe persistent store 924.

An exemplary application module 924N that may be loaded onto thedual-mode mobile communication device 910 is a personal informationmanager (PIM) application providing PDA functionality, such as calendarevents, appointments, and task items. This module 924N may also interactwith the voice communication module 924A for managing phone calls, voicemails, etc., and may also interact with the data communication modulefor managing e-mail communications and other data transmissions.Alternatively, all of the functionality of the voice communicationmodule 924A and the data communication module 924B may be integratedinto the PIM module.

The Flash memory 924 preferably provides a file system to facilitatestorage of PIM data items on the dual-mode mobile communication device910. The PIM application preferably includes the ability to send andreceive data items, either by itself, or in conjunction with the voiceand data communication modules 924A, 924B, via the wireless network 919.The PIM data items are preferably seamlessly integrated, synchronizedand updated, via the wireless network 919, with a corresponding set ofdata items stored or associated with a host computer system, therebycreating a mirrored system for data items associated with a particularuser. The Flash memory 924 also contains an IP address associated withthe dual-mode mobile communication device 910, and an IP address mappingtable, as described above.

The dual-mode mobile communication device 910 may also be manuallysynchronized with a host system by placing the dual-mode mobilecommunication device 910 in an interface cradle, which couples theserial port 930 of the dual-mode mobile communication device 910 to theserial port of the host system. The serial port 930 may also be used toenable a use o set preferences through an external device—softwareapplication, or to download other application modules 924N forinstallation. This wired download path may be used to load an encryptionkey onto the dual-mode mobile communication device 910, which is a moresecure method than exchanging encryption information via the wirelessnetwork 919.

Additional application modules 924N may be loaded onto the dual-modemobile communication device 910 through the network 919, through anauxiliary I/O subsystem 928, through the serial port 930, through theshort-range communications subsystem 940, or through any other suitablesubsystem 942, and installed by a user in the Flash memory 924 or RAM926. Such flexibility in application installation increases thefunctionality of the dual-mode mobile communication device 910 and mayprovide enhanced on-device functions, communication-related functions,or both. For example, secure communication applications may enableelectronic commerce functions and other such financial transactions tobe performed using the dual-mode mobile communication device 910.

When the dual-mode device 910 is operating in a data communication mode,a received signal, such as a text message or a web page download, willbe processed by the transceiver 911 and provided to the microprocessor938, which will preferably further process the received signal foroutput to the display 922, or, alternatively, to an auxiliary I/O device928. A user of the dual-mode mobile communication device 910 may alsocompose data items, such as email messages, using the keyboard 932,which is preferably a complete alphanumeric keyboard laid out in theQWERTY style, although other styles of complete alphanumeric keyboardssuch as the known DVORAK, style may also be used. User input to thedual-mode mobile communication device 910 is further enhanced with aplurality of auxiliary I/O devices 928, which may include a thumbwheelinput device, a touchpad, a variety of switches, a rocker input switch,etc. The composed data items input by the user may then be transmittedover the communication network 919 via the transceiver 911.

When the dual-mode mobile communication device 910 is operating in avoice communication mode, the overall operation of the dual-mode mobilecommunication device 910 is substantially similar to the data mode,except that received signals are (preferably output to the speaker 934and voice signals for transmission are generated by a microphone 936.Alternative voice or audio I/O subsystems, such as a voice messagerecording subsystem, may also be implemented on the dual-mode mobilecommunication device 910. Although voice or audio signal output ispreferably accomplished primarily through the speaker 934, the display922 may also be used to provide an indication of the identity of acalling party, the duration of a voice call, or other voice call relatedinformation. For example, the microprocessor 938, in conjunction withthe voice communication module and the operating system software, maydetect the caller identification information of an incoming voice calland display it on the display 922.

A short-range communications subsystem 940 is also included in thedual-mode mobile communication device 910. For example, the short-rangecommunications subsystem 940 may include an infrared device andassociated circuits and components, or a short-range wirelesscommunication module such as a Bluetooth module or an 802.11 module toprovide for communication with similarly-enabled systems and devices,Those skilled in the art will appreciate that “Bluetooth”™ and 802.11refer to sets of specifications, available from the institute ofElectrical and Electronics Engineers (IEEE), relating to wirelesspersonal area networks and wireless LANs, respectively.

The example used in the above description for the identificationinformation exchanged by mobile stations comprised IP addresses;however, other types of identification information may also beexchanged, including addresses used by networks other than the Internet.

Also, an example of a the mobile station used in this description was adual-mode communication devices; however, the mobile stations may alsobe other types of devices, including mobile telephones, PDAs and laptopcomputers which include wireless communication cards.

The structural arrangements and steps described herein and shown in thedrawings are examples of structures, systems, or methods having elementsor steps corresponding to the elements or steps of the invention recitedin the claims, This written description and drawings may enable thoseskilled in the art to make and use embodiments having alternativeelements or steps that likewise correspond to the elements or steps ofthe invention recited in the claims. The intended scope of the inventionthus includes other structures, systems, or methods that do not differfrom the literal language of the claims, and further includes otherstructures, systems, or methods with insubstantial differences from theliteral language of the claims.

We claim:
 1. A mobile device comprising: a processor; and computerreadable media encoded with instructions that when executed by theprocessor causes the mobile device to: detect that a first networkidentification code associated with the mobile device has changed and,in response, send a first message comprising the first networkidentification code to another mobile device; receive from the othermobile device a second message, the second message comprising a secondnetwork identification code that is associated with the other mobiledevice; and request a communication link with the other mobile deviceusing the second network identification code.